The present application relates to software and more specifically to systems and methods for facilitating discovering and analyzing software computing resources, such as web services or other remotely accessible software.
Remotely accessible software is employed in various demanding applications, including enterprise cloud-based software accessible to distributed clients, such as mobile devices. In many enterprise computing environments, different software systems must exchange data, such as via web services or via other mechanisms for communicating data between software systems via the Internet. Such computing environments often demand efficient mechanisms for analyzing existing services and Application Programming Interfaces (APIs), such as to determine whether the services and/or APIs should be upgraded or otherwise modified to meet changing network demands.
Systems and method for discovering and analyzing services and APIs of networked computing environments can be particularly important in cloud computing environments, where many computing resources may interact. For example, certain cloud computing environments may employ a certain type of Java service or API, which is to be replaced with or converted to a different type of service, e.g., a Representational State Transfer (REST) service. In a large networked computing environment, finding, i.e., discovering, the Java services and/or APIs for conversion to REST services, can be difficult.
Conventionally, the task of discovering Java APIs and services to be converted to REST services involves manually analyzing each service and method to determine if it can be converted to a REST service, and then listing all DTOs (Data Transaction Objects) to be converted. However, identifying convertible Java APIs and identifying DTOs using such conventional methods can be error prone; can result in not discovering important services; and may involve inefficient duplicative effort.